package com.team1.supervend.state_machine;

public class AcceptingPaymentMethodState implements State {
    SuperVend superVend;
 
    public AcceptingPaymentMethodState(SuperVend superVend) {
        this.superVend = superVend;
    }
 
	@Override
	public void startSale() {
		System.out.println("startSale                   -- AcceptingPaymentMethodState -- do nothing");
	}

	@Override
	public void cancelSale() {
		System.out.println("cancelSale                  -- AcceptingPaymentMethodState -- do nothing");
	}

	@Override
	public void endSale() {
		System.out.println("endSale                     -- AcceptingPaymentMethodState -- do nothing");
	}

	@Override
	public void returnToIdle() {
		System.out.println("returnToIdle                -- AcceptingPaymentMethodState -- do nothing");
	}

	@Override
	public void preValidatePayment() {
		System.out.println("preValidatePayment          -- AcceptingPaymentMethodState -- do nothing");
	}

	@Override
	public void payBalance() {
		System.out.println("payBalance                  -- AcceptingPaymentMethodState -- do nothing");
	}

	@Override
	public void cancelPayment() {
		System.out.println("cancelPayment");
		superVend.setState(superVend.getProcessingSaleState());
	}

	@Override
	public void chooseCashPayment() {
		System.out.println("chooseCashPayment");
		superVend.setState(superVend.getAcceptingMoneyForPaymentState());
	}

	@Override
	public void insertMoney(float denomination) {
		System.out.println("insertMoney                 -- AcceptingPaymentMethodState -- do nothing");
	}

	@Override
	public void makeCashPayment() {
		System.out.println("makeCashPayment             -- AcceptingPaymentMethodState -- do nothing");
	}

	@Override
	public void supplyCreditCardInformation() {
		System.out.println("supplyCreditCardInformation");
		superVend.setState(superVend.getAcceptingCreditCardForPaymentState());
	}

	@Override
	public void paymentAuthorized() {
		System.out.println("paymentAuthorized           -- AcceptingPaymentMethodState -- do nothing");
	}

	@Override
	public void allowProductSelection() {
		System.out.println("allowProductSelection       -- AcceptingPaymentMethodState -- do nothing");
	}

	@Override
	public void chooseProduct(int quantity) {
		System.out.println("chooseProduct               -- AcceptingPaymentMethodState -- do nothing");
	}

	@Override
	public void productSelectionComplete() {
		System.out.println("productSelectionComplete    -- AcceptingPaymentMethodState -- do nothing");
	}
 
	public String toString() {
		return "AcceptingPaymentMethodState";
	}
}
